]> dgit.raspbian.org Git - gnome-shell.git/commitdiff
status/network: Consider active connection for network's active state
authorFlorian Müllner <fmuellner@gnome.org>
Tue, 29 Aug 2023 16:54:01 +0000 (18:54 +0200)
committerMarge Bot <marge-bot@gnome.org>
Thu, 31 Aug 2023 11:54:51 +0000 (11:54 +0000)
We currently show a network as connected when it includes the
device's active access point.

However when connected to an OWE transition network, the public
AP redirects to a hidden AP that we ignore. To handle that case,
also consider a network active when it includes the currently
active connection.

https://gitlab.gnome.org/GNOME/gnome-shell/-/issues/6918

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/2927>

js/ui/status/network.js

index 01aff61c34fd4a0b6f1dc22247b548d210594594..e0f44d0f8840421fd56a2bfacdb1767394a425cb 100644 (file)
@@ -780,6 +780,7 @@ const WirelessNetwork = GObject.registerClass({
 
         this._device.connectObject(
             'notify::active-access-point', () => this.notify('is-active'),
+            'notify::active-connection', () => this.notify('is-active'),
             this);
 
         this._accessPoints = new Set();
@@ -814,7 +815,14 @@ const WirelessNetwork = GObject.registerClass({
     }
 
     get is_active() {
-        return this._accessPoints.has(this._device.activeAccessPoint);
+        if (this._accessPoints.has(this._device.activeAccessPoint))
+            return true;
+
+        const {activeConnection} = this._device;
+        if (activeConnection)
+            return this._connections.includes(activeConnection.connection);
+
+        return false;
     }
 
     hasAccessPoint(ap) {